package com.kehutong.charge.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.kehutong.charge.util.enums.ChargeStatusEnum;
import com.kehutong.charge.util.enums.FeeStatusEnum;
import com.kehutong.common.entity.DataEntity;
import com.kehutong.common.util.BigDecimalUtils;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * @program: kht
 * @description: ChargeFeeManage 导出实体
 * @author: jian Ye
 * @create: 2021/8/9
 **/
@ColumnWidth(15)
public class ChargeFeeManageExcelVO {

    @ColumnWidth(25)
    @ExcelProperty(value="服务单号")
    private String serviceNo;

    @ColumnWidth(25)
    @ExcelProperty(value="关联订单")
    private String orderNo;
    @ExcelProperty(value="账单金额")
    private String billAmount;
    @ExcelProperty(value="修改金额")
    private String payableAmount;

    @ExcelIgnore
    private FeeStatusEnum applyStatus;
    @ExcelProperty(value="申请状态")
    private String applyState;

    @ColumnWidth(25)
    @ExcelProperty(value = "申请时间")
    private Timestamp createTime;

    @ColumnWidth(25)
    @ExcelProperty(value = "处理时间")
    private Timestamp applyTime;


    public String getBillAmount() {
        return billAmount;
    }
    /**特殊处理*/
    public void setBillAmount(String billAmount) {
        this.billAmount = BigDecimalUtils.parse(billAmount);
    }

    public String getPayableAmount() {
        return payableAmount;
    }

    /**特殊处理*/
    public void setPayableAmount(String payableAmount) {
        this.payableAmount = BigDecimalUtils.parse(payableAmount);
    }

    /**特殊处理*/
    public String getApplyState() {
        if(null != applyStatus){
            return applyStatus.getDesc();
        }
        return "--";
    }

    public FeeStatusEnum getApplyStatus() {
        return applyStatus;
    }

    public void setApplyStatus(FeeStatusEnum applyStatus) {
        this.applyStatus = applyStatus;
    }
    public String getServiceNo() {
        return serviceNo;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Timestamp getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Timestamp getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Timestamp applyTime) {
        this.applyTime = applyTime;
    }
}
